/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.brain.core.manager;

import com.brain.core.dto.BitacoraEntidadDto;
import com.brain.core.dto.BitacoraEntidadDto;
import com.brain.core.exception.DAOException;
import com.brain.core.hibernate.dao.DAOGenerico;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;

/**
 *
 * @author Indra
 */
@Service
public class BitacoraManager extends ComunManager<BitacoraEntidadDto> implements Serializable {

    @Resource
    private DAOGenerico<BitacoraEntidadDto> springHibernateDao;

    public List<BitacoraEntidadDto> obtenerTodos() throws DAOException {
        return springHibernateDao.listarTodosDtos(BitacoraEntidadDto.class);
    }

    public List<BitacoraEntidadDto> obtenerConFiltro(Map<String, Object> filtros) throws DAOException {
        return springHibernateDao.obtenerDtosConFiltros(BitacoraEntidadDto.class, filtros);
    }

    public List<BitacoraEntidadDto> obtenerConFiltroConOrden(Map<String, Object> filtros, Map<String, String> orden) throws DAOException {
        return springHibernateDao.obtenerDtosConFiltrosConOrden(BitacoraEntidadDto.class, filtros, orden);
    }

    public List<BitacoraEntidadDto> obtenerBitacorasEntidad(Long entidad, Long registro) throws DAOException {

        Map<String, Object> map = new HashMap<String, Object>();
        map.put("entidad", entidad);
        map.put("registro", registro);
        Map<String, String> mapFiltro = new HashMap<String, String>();
        mapFiltro.put("id", "asc");
        
        return springHibernateDao.obtenerDtosConFiltrosConOrden(BitacoraEntidadDto.class, map, mapFiltro);
    }

    public BitacoraEntidadDto obtenerPorId(Long id) throws DAOException {
        return springHibernateDao.obtenerDtoPorId(BitacoraEntidadDto.class, id);
    }
}
